
#pragma once

#include <mupdf/fitz.h>
#include <vector>
#include <string>

enum {
	OUT_BBOX, OUT_HTML, OUT_NONE, OUT_OCR_HTML, OUT_OCR_PDF, OUT_OCR_STEXT_JSON,
    OUT_OCR_STEXT_XML, OUT_OCR_TEXT, OUT_OCR_TRACE, OUT_OCR_XHTML, OUT_PAM,
    OUT_PBM, OUT_PCL, OUT_PCLM, OUT_PGM, OUT_PKM, OUT_PNG, OUT_PNM, OUT_PPM,
	OUT_PS, OUT_PSD, OUT_PWG, OUT_STEXT_JSON, OUT_STEXT_XML, OUT_SVG, OUT_TEXT,
	OUT_TRACE, OUT_XHTML, OUT_XMLTEXT, OUT_PDF,
};

enum {
    CS_INVALID, CS_UNSET, CS_MONO, CS_GRAY, CS_GRAY_ALPHA, CS_RGB,
    CS_RGB_ALPHA, CS_CMYK, CS_CMYK_ALPHA, CS_ICC
};

enum { SPOTS_NONE, SPOTS_OVERPRINT_SIM, SPOTS_FULL };
class draw_help{
    public:
    virtual void draw_page(float resolution,float rotation,fz_rect& mediabox,fz_device* dev,
        int output_format,fz_output * out,fz_context* ctx,fz_page *page,int lowmemory,fz_display_list *list
        ,const char * ocr_language,const char * ocr_datadir,fz_cookie *cookie,int pagenum
        ,fz_buffer* out_buffer,std::vector<std::string>& rets
    )=0;
};
